module.exports = {
  mode: 'none',
  module: {
    rules: [
      {
        test: /\.js$/,
        use: {
          loader: 'babel-loader',
          options: {
            // 注意：仅使用时，是将插件集合名称放到一个数组中
            // presets: ['@babel/preset-env'],

            // 当对插件集合编写配置时，就需要再套一个数组
            // 数组的第一个元素是插件集合的名称
            // 第二个元素是它的配置对象
            presets: [
              [
                '@babel/preset-env',
                {
                  // modules默认是auto，即根据环境去判断是否开启转换ESM插件
                  // 这里设置为强制转换为commonjs
                  // modules: 'commonjs',
                },
              ],
            ],
          },
        },
      },
    ],
  },
  optimization: {
    sideEffects: true, // 是否移除无副作用的模块

    // 模块只导出使用的成员
    usedExports: true,

    // 合并模块到一个函数中
    // concatenateModules: true,

    // 压缩代码
    // minimize: true,
  },
}
